package org.fone.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.fone.pojo.TableField;
import org.fone.pojo.TableInfo;
import org.springframework.stereotype.Repository;

import java.util.LinkedList;
import java.util.List;
import java.util.Map;

@Mapper
@Repository
public interface TableMapper {
    //获取所有的表格的名字等信息
    List<TableInfo> listTable();

    //获取表的所有字段，包含字段名，字段数据类型
    List<TableField> listTableFieldByTableName(String tabName);
    //读取表格的内容
    LinkedList<Map<String,Object>> listLineByTableName(String tabName);



//    /**
//     * 增加字段
//     * @param tableSql
//     */
//    public void addTableField(TableSql a);
//
    /**
     * 根据表名查询表在库中是否存在，存在返回1，不存在返回0
     * @param tabName 表结构的map
     * @return 存在返回1，不存在返回0
     */
    int findTableCountByTableName(String tabName);
//    /**
//     * 根据表名删除表
//     * @param tabName 表结构的map
//     */
//    void dropTableByName(String tabName);
    //创建结果表
    int createTable(String tableName, List<TableField> tableFields);
    //向结果表中插入结果集
    int insertInfoToTable(String tableName,List<List<Object>> contents);

}
